home *** CD-ROM | disk | FTP | other *** search
- /*
- * Editor.h
- *
- * Copyright 2000, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- *
- * UNPUBLISHED -- Rights reserved under the copyright laws of the United
- * States. Use of a copyright notice is precautionary only and does not
- * imply publication or disclosure.
- *
- * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
- * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
- * in similar or successor clauses in the FAR, or the DOD or NASA FAR
- * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
- * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
- *
- * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
- * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
- * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
- * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
- * GRAPHICS, INC.
- */
- /* $XConsortium: Editor.h /main/cde1_maint/1 1995/07/17 18:29:34 drk $ */
- /*
- * (c) Copyright 1993, 1994 Hewlett-Packard Company
- * (c) Copyright 1993, 1994 International Business Machines Corp.
- * (c) Copyright 1993, 1994 Sun Microsystems, Inc.
- * (c) Copyright 1993, 1994 Novell, Inc.
- */
-
- #ifndef _Dt_Editor_h
- #define _Dt_Editor_h
-
- #include <Xm/Xm.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- /*
- * Constants
- */
-
- /* Sources of Help requests */
- /* Used with XmNhelpCallback */
-
- #define DtEDITOR_HELP_EDIT_WINDOW 1
- #define DtEDITOR_HELP_STATUS_LINE 2
- #define DtEDITOR_HELP_STATUS_CURRENT_LINE 3
- #define DtEDITOR_HELP_STATUS_TOTAL_LINES 4
- #define DtEDITOR_HELP_STATUS_MESSAGE 5
- #define DtEDITOR_HELP_STATUS_OVERSTRIKE 6
- #define DtEDITOR_HELP_FORMAT_DIALOG 7
- #define DtEDITOR_HELP_FORMAT_LEFT_MARGIN 8
- #define DtEDITOR_HELP_FORMAT_RIGHT_MARGIN 9
- #define DtEDITOR_HELP_FORMAT_ALIGNMENT 10
- #define DtEDITOR_HELP_CHANGE_DIALOG 11
- #define DtEDITOR_HELP_CHANGE_FIND 12
- #define DtEDITOR_HELP_CHANGE_CHANGE 13
- #define DtEDITOR_HELP_SPELL_DIALOG 14
- #define DtEDITOR_HELP_SPELL_MISSPELLED_WORDS 15
- #define DtEDITOR_HELP_SPELL_CHANGE 16
-
- /* Specifies the last line in the edit area */
- /* Used with DtEditorGoToLine */
- #define DtEDITOR_LAST_LINE -999
-
- /* Resource constants */
- #if defined(_TAV_FILE_FILTER_) /* Resources to handle DnD in a secure session */
- #ifndef DtNfilterProc
- #define DtNfilterProc "filterProc"
- #endif
- #ifndef DtCFilterProc
- #define DtCFilterProc "FilterProc"
- #endif
- #endif /* _TAV_FILE_FILTER_ */
-
- #ifndef DtNautoShowCursorPosition
- #define DtNautoShowCursorPosition XmNautoShowCursorPosition
- #endif
- #ifndef DtCAutoShowCursorPosition
- #define DtCAutoShowCursorPosition XmCAutoShowCursorPosition
- #endif
- #ifndef DtNblinkRate
- #define DtNblinkRate XmNblinkRate
- #endif
- #ifndef DtCBlinkRate
- #define DtCBlinkRate XmCBlinkRate
- #endif
- #ifndef DtNbuttonFontList
- #define DtNbuttonFontList XmNbuttonFontList
- #endif
- #ifndef DtCFontList
- #define DtCFontList XmCFontList
- #endif
- #ifndef DtNcenterToggleLabel
- #define DtNcenterToggleLabel "centerToggleLabel"
- #endif
- #ifndef DtCCenterToggleLabel
- #define DtCCenterToggleLabel "CenterToggleLabel"
- #endif
- #ifndef DtNchangeAllButtonLabel
- #define DtNchangeAllButtonLabel "changeAllButtonLabel"
- #endif
- #ifndef DtCChangeAllButtonLabel
- #define DtCChangeAllButtonLabel "ChangeAllButtonLabel"
- #endif
- #ifndef DtNchangeButtonLabel
- #define DtNchangeButtonLabel "changeButtonLabel"
- #endif
- #ifndef DtCChangeButtonLabel
- #define DtCChangeButtonLabel "ChangeButtonLabel"
- #endif
- #ifndef DtNchangeFieldLabel
- #define DtNchangeFieldLabel "changeFieldLabel"
- #endif
- #ifndef DtCChangeFieldLabel
- #define DtCChangeFieldLabel "ChangeFieldLabel"
- #endif
- #ifndef DtNcolumns
- #define DtNcolumns XmNcolumns
- #endif
- #ifndef DtCColumns
- #define DtCColumns XmCColumns
- #endif
- #ifndef DtNcurrentLineLabel
- #define DtNcurrentLineLabel "currentLineLabel"
- #endif
- #ifndef DtCCurrentLineLabel
- #define DtCCurrentLineLabel "CurrentLineLabel"
- #endif
- #ifndef DtNcursorPosition
- #define DtNcursorPosition XmNcursorPosition
- #endif
- #ifndef DtCCursorPosition
- #define DtCCursorPosition XmCCursorPosition
- #endif
- #ifndef DtNcursorPositionVisible
- #define DtNcursorPositionVisible XmNcursorPositionVisible
- #endif
- #ifndef DtCCursorPositionVisible
- #define DtCCursorPositionVisible XmCCursorPositionVisible
- #endif
- #ifndef DtNdialogTitle
- #define DtNdialogTitle "dialogTitle"
- #endif
- #ifndef DtCDialogTitle
- #define DtCDialogTitle XmCDialogTitle
- #endif
- #ifndef DtNeditable
- #define DtNeditable XmNeditable
- #endif
- #ifndef DtCEditable
- #define DtCEditable XmCEditable
- #endif
- #ifndef DtNfindButtonLabel
- #define DtNfindButtonLabel "findButtonLabel"
- #endif
- #ifndef DtCFindButtonLabel
- #define DtCFindButtonLabel "FindButtonLabel"
- #endif
- #ifndef DtNfindChangeDialogTitle
- #define DtNfindChangeDialogTitle "findChangeDialogTitle"
- #endif
- #ifndef DtCFindChangeDialogTitle
- #define DtCFindChangeDialogTitle "FindChangeDialogTitle"
- #endif
- #ifndef DtNfindFieldLabel
- #define DtNfindFieldLabel "findFieldLabel"
- #endif
- #ifndef DtCFindFieldLabel
- #define DtCFindFieldLabel "FindFieldLabel"
- #endif
- #ifndef DtNformatAllButtonLabel
- #define DtNformatAllButtonLabel "formatAllButtonLabel"
- #endif
- #ifndef DtCFormatAllButtonLabel
- #define DtCFormatAllButtonLabel "FormatAllButtonLabel"
- #endif
- #ifndef DtNformatParagraphButtonLabel
- #define DtNformatParagraphButtonLabel "formatParagraphButtonLabel"
- #endif
- #ifndef DtCFormatParagraphButtonLabel
- #define DtCFormatParagraphButtonLabel "FormatParagraphButtonLabel"
- #endif
- #ifndef DtNformatSettingsDialogTitle
- #define DtNformatSettingsDialogTitle "formatSettingsDialogTitle"
- #endif
- #ifndef DtCFormatSettingsDialogTitle
- #define DtCFormatSettingsDialogTitle "FormatSettingsDialogTitle"
- #endif
- #ifndef DtNinformationDialogTitle
- #define DtNinformationDialogTitle "informationDialogTitle"
- #endif
- #ifndef DtCInformationDialogTitle
- #define DtCInformationDialogTitle "InformationDialogTitle"
- #endif
- #ifndef DtNinsertLabel
- #define DtNinsertLabel "insertLabel"
- #endif
- #ifndef DtCInsertLabel
- #define DtCInsertLabel "InsertLabel"
- #endif
- #ifndef DtNjustifyToggleLabel
- #define DtNjustifyToggleLabel "justifyToggleLabel"
- #endif
- #ifndef DtCJustifyToggleLabel
- #define DtCJustifyToggleLabel "JustifyToggleLabel"
- #endif
- #ifndef DtNlabelFontList
- #define DtNlabelFontList XmNlabelFontList
- #endif
- #ifndef DtNleftAlignToggleLabel
- #define DtNleftAlignToggleLabel "leftAlignToggleLabel"
- #endif
- #ifndef DtCLeftAlignToggleLabel
- #define DtCLeftAlignToggleLabel "LeftAlignToggleLabel"
- #endif
- #ifndef DtNleftMarginFieldLabel
- #define DtNleftMarginFieldLabel "leftMarginFieldLabel"
- #endif
- #ifndef DtCLeftMarginFieldLabel
- #define DtCLeftMarginFieldLabel "LeftMarginFieldLabel"
- #endif
- #ifndef DtNmaxLength
- #define DtNmaxLength XmNmaxLength
- #endif
- #ifndef DtCMaxLength
- #define DtCMaxLength XmCMaxLength
- #endif
- #ifndef DtNmisspelledListLabel
- #define DtNmisspelledListLabel "misspelledListLabel"
- #endif
- #ifndef DtCMisspelledListLabel
- #define DtCMisspelledListLabel "MisspelledListLabel"
- #endif
- #ifndef DtNoverstrike
- #define DtNoverstrike "overstrike"
- #endif
- #ifndef DtCOverstrike
- #define DtCOverstrike "Overstrike"
- #endif
- #ifndef DtNoverstrikeLabel
- #define DtNoverstrikeLabel "overstrikeLabel"
- #endif
- #ifndef DtCOverstrikeLabel
- #define DtCOverstrikeLabel "OverstrikeLabel"
- #endif
- #ifndef DtNrightAlignToggleLabel
- #define DtNrightAlignToggleLabel "rightAlignToggleLabel"
- #endif
- #ifndef DtCRightAlignToggleLabel
- #define DtCRightAlignToggleLabel "RightAlignToggleLabel"
- #endif
- #ifndef DtNrightMarginFieldLabel
- #define DtNrightMarginFieldLabel "rightMarginFieldLabel"
- #endif
- #ifndef DtCRightMarginFieldLabel
- #define DtCRightMarginFieldLabel "RightMarginFieldLabel"
- #endif
- #ifndef DtNrows
- #define DtNrows XmNrows
- #endif
- #ifndef DtCRows
- #define DtCRows XmCRows
- #endif
- #ifndef DtNscrollHorizontal
- #define DtNscrollHorizontal XmNscrollHorizontal
- #endif
- #ifndef DtCScroll
- #define DtCScroll XmCScroll
- #endif
- #ifndef DtNscrollLeftSide
- #define DtNscrollLeftSide XmNscrollLeftSide
- #endif
- #ifndef DtCScrollSide
- #define DtCScrollSide XmCScrollSide
- #endif
- #ifndef DtNscrollTopSide
- #define DtNscrollTopSide XmNscrollTopSide
- #endif
- #ifndef DtNscrollVertical
- #define DtNscrollVertical XmNscrollVertical
- #endif
- #ifndef DtNshowStatusLine
- #define DtNshowStatusLine "showStatusLine"
- #endif
- #ifndef DtCShowStatusLine
- #define DtCShowStatusLine "ShowStatusLine"
- #endif
- #ifndef DtNspellDialogTitle
- #define DtNspellDialogTitle "spellDialogTitle"
- #endif
- #ifndef DtCSpellDialogTitle
- #define DtCSpellDialogTitle "SpellDialogTitle"
- #endif
- #ifndef DtNspellFilter
- #define DtNspellFilter "spellFilter"
- #endif
- #ifndef DtCSpellFilter
- #define DtCSpellFilter "SpellFilter"
- #endif
- #ifndef DtNtextBackground
- #define DtNtextBackground "textBackground"
- #endif
- #ifndef DtCBackground
- #define DtCBackground XmCBackground
- #endif
- #ifndef DtNtextDeselectCallback
- #define DtNtextDeselectCallback "textDeselectCallback"
- #endif
- #ifndef DtNtextFontList
- #define DtNtextFontList XmNtextFontList
- #endif
- #ifndef DtNtextForeground
- #define DtNtextForeground "textForeground"
- #endif
- #ifndef DtCForeground
- #define DtCForeground XmCForeground
- #endif
- #ifndef DtNtextSelectCallback
- #define DtNtextSelectCallback "textSelectCallback"
- #endif
- #ifndef DtNtextTranslations
- #define DtNtextTranslations XmNtextTranslations
- #endif
- #ifndef DtCTranslations
- #define DtCTranslations XmCTranslations
- #endif
- #ifndef DtCCallback
- #define DtCCallback XmCCallback
- #endif
- #ifndef DtNtopCharacter
- #define DtNtopCharacter XmNtopCharacter
- #endif
- #ifndef DtCTopCharacter
- #define DtCTopCharacter XmCTopCharacter
- #endif
- #ifndef DtNtotalLineCountLabel
- #define DtNtotalLineCountLabel "totalLineCountLabel"
- #endif
- #ifndef DtCTotalLineCountLabel
- #define DtCTotalLineCountLabel "TotalLineCountLabel"
- #endif
- #ifndef DtNwordWrap
- #define DtNwordWrap XmNwordWrap
- #endif
- #ifndef DtCWordWrap
- #define DtCWordWrap XmCWordWrap
- #endif
-
- #ifndef DtEditorHelpCallbackStruct
- #define DtEditorHelpCallbackStruct XmAnyCallbackStruct
- #endif
- #ifndef DtEditorSelectCallbackStruct
- #define DtEditorSelectCallbackStruct XmAnyCallbackStruct
- #endif
- #ifndef DtEditorDeselectCallbackStruct
- #define DtEditorDeselectCallbackStruct XmAnyCallbackStruct
- #endif
-
- /* Used with DtEditorChange() */
-
- enum {
- DtEDITOR_CURRENT_SELECTION,
- DtEDITOR_NEXT_OCCURRENCE,
- DtEDITOR_ALL_OCCURRENCES
- };
-
- /* Used with DtEditorFormat() */
-
- enum {
- DtEDITOR_FORMAT_ALL,
- DtEDITOR_FORMAT_PARAGRAPH
- };
-
- enum {
- DtEDITOR_ALIGN_CENTER,
- DtEDITOR_ALIGN_JUSTIFY,
- DtEDITOR_ALIGN_LEFT,
- DtEDITOR_ALIGN_RIGHT
- };
-
- /* Used with DtNtextSelectCallback */
- enum {
- DtEDITOR_TEXT_SELECT,
- DtEDITOR_TEXT_DESELECT
- };
-
- /*
- * Types
- */
- typedef enum _DtEditorErrorCode{
- DtEDITOR_NO_ERRORS,
- DtEDITOR_INVALID_TYPE,
- DtEDITOR_INVALID_RANGE,
- DtEDITOR_NULL_ITEM,
- DtEDITOR_ILLEGAL_SIZE,
- DtEDITOR_SPELL_FILTER_FAILED,
- DtEDITOR_NO_TMP_FILE,
- DtEDITOR_INVALID_FILENAME,
- DtEDITOR_NONEXISTENT_FILE,
- DtEDITOR_UNREADABLE_FILE,
- DtEDITOR_READ_ONLY_FILE,
- DtEDITOR_NO_FILE_ACCESS,
- DtEDITOR_DIRECTORY,
- DtEDITOR_CHAR_SPECIAL_FILE,
- DtEDITOR_BLOCK_MODE_FILE,
- DtEDITOR_UNWRITABLE_FILE,
- DtEDITOR_WRITABLE_FILE,
- DtEDITOR_SAVE_FAILED,
- DtEDITOR_INSUFFICIENT_MEMORY,
- DtEDITOR_NULLS_REMOVED
- } DtEditorErrorCode;
-
- #ifdef _TAV_FILE_FILTER_
- /* The editor widget will make a call to the filter function
- */
- typedef DtEditorErrorCode (*filterFileProc)(Widget w,
- char* encryptedFile);
- #endif /* _TAV_FILE_FILTER_ */
-
- /* Used with DtEditorChange() to specify Find and Change To strings */
-
- typedef struct _DtEditorChangeValues {
- char *find;
- char *changeTo;
- } DtEditorChangeValues;
-
- /* Used with DtEditorFormat() to specify left margin, right margin *
- * and justification styles. */
-
- typedef struct _DtEditorFormatSettings {
- int leftMargin;
- int rightMargin;
- unsigned int alignment;
- } DtEditorFormatSettings;
-
- /* Types used to tag data to/from the editor widget */
-
- typedef enum _DtEditorDataFormat{
- DtEDITOR_TEXT,
- DtEDITOR_WCHAR,
- DtEDITOR_DATA
- } DtEditorDataFormat;
-
-
- /* Types used to pass data to/from the editor widget */
-
- typedef struct _DtEditor_DataObj {
- unsigned int length;
- void *buf;
- } DtEditor_DataObj;
-
- typedef struct _DtEditorContentRec {
- DtEditorDataFormat type;
- union {
- char *string;
- wchar_t *wchar;
- DtEditor_DataObj data;
- } value;
- } DtEditorContentRec;
-
-
- /* Widget class and instance */
-
- typedef struct _DtEditorClassRec *DtEditorClass;
- typedef struct _DtEditorRec *DtEditorWidget;
-
-
- /*
- * Data
- */
-
- /* Widget class */
-
- externalref WidgetClass dtEditorWidgetClass;
-
-
- /*
- * Functions
- */
-
- extern Widget DtCreateEditor(
- Widget parent,
- char *name,
- ArgList arglist,
- Cardinal argcount);
-
- extern DtEditorErrorCode DtEditorAppend(
- Widget widget,
- DtEditorContentRec *data);
-
- extern DtEditorErrorCode DtEditorAppendFromFile(
- Widget widget,
- char *fileName);
-
- extern Boolean DtEditorChange(
- Widget widget,
- DtEditorChangeValues *findChangeStrings,
- unsigned int instanceToChange);
-
- extern Boolean DtEditorCheckForUnsavedChanges(
- Widget widget);
-
- /* _TP_ALL_{ SPR000544 */
- extern Boolean DtEditorCheckUndoState(
- Widget widget);
- /* _TP_ALL_} */
-
- extern Boolean DtEditorClearSelection(
- Widget widget);
-
- extern Boolean DtEditorCopyToClipboard(
- Widget widget);
-
- extern Boolean DtEditorCutToClipboard(
- Widget widget);
-
- extern Boolean DtEditorDeleteSelection(
- Widget widget);
-
- extern Boolean DtEditorDeselect(
- Widget widget);
-
- extern void DtEditorDisableRedisplay(
- Widget widget);
-
- extern void DtEditorEnableRedisplay(
- Widget widget);
-
- extern Boolean DtEditorFind(
- Widget widget,
- char * find);
-
- extern DtEditorErrorCode DtEditorFormat(
- Widget widget,
- DtEditorFormatSettings *formatSettings,
- unsigned int amountToFormat);
-
- extern DtEditorErrorCode DtEditorGetContents(
- Widget widget,
- DtEditorContentRec *data,
- Boolean hardCarriageReturns,
- Boolean markContentsAsSaved);
-
- extern XmTextPosition DtEditorGetInsertionPosition(
- Widget widget);
-
- extern XmTextPosition DtEditorGetLastPosition(
- Widget widget);
-
- extern Widget DtEditorGetMessageTextFieldID(
- Widget widget);
-
- /* _TP_ALL_{ SPR002171 */
- extern Widget _DtEditorGetTextWidget(
- Widget widget);
- /* _TP_ALL_} */
-
- extern void DtEditorGetSizeHints(
- Widget widget,
- XSizeHints *pHints);
-
- extern void DtEditorGoToLine(
- Widget widget,
- int lineNumber);
-
- extern DtEditorErrorCode DtEditorInsert(
- Widget widget,
- DtEditorContentRec *data);
-
- extern DtEditorErrorCode DtEditorInsertFromFile(
- Widget widget,
- char *fileName);
-
- extern void DtEditorInvokeFindChangeDialog(
- Widget widget);
-
- extern void DtEditorInvokeFormatDialog(
- Widget widget);
-
- extern DtEditorErrorCode DtEditorInvokeSpellDialog(
- Widget widget);
-
- extern Boolean DtEditorPasteFromClipboard(
- Widget widget);
-
- extern DtEditorErrorCode DtEditorReplace(
- Widget widget,
- XmTextPosition startPos,
- XmTextPosition endPos,
- DtEditorContentRec *data);
-
- extern DtEditorErrorCode DtEditorReplaceFromFile(
- Widget widget,
- XmTextPosition startPos,
- XmTextPosition endPos,
- char *fileName);
-
- extern void DtEditorReset(
- Widget widget);
-
- extern DtEditorErrorCode DtEditorSaveContentsToFile(
- Widget widget,
- char *fileName,
- Boolean overwriteIfExists,
- Boolean hardCarriageReturns,
- Boolean markContentsAsSaved);
-
- extern Boolean DtEditorSelectAll(
- Widget widget);
-
- extern DtEditorErrorCode DtEditorSetContents(
- Widget widget,
- DtEditorContentRec *data);
-
- extern DtEditorErrorCode DtEditorSetContentsFromFile(
- Widget widget,
- char *fileName);
-
- extern void DtEditorSetInsertionPosition(
- Widget widget,
- XmTextPosition position);
-
- extern void DtEditorTraverseToEditor(
- Widget widget);
-
- extern Boolean DtEditorUndoEdit(
- Widget widget);
-
- extern DtEditorErrorCode DtEditorValidateFileAccess(
- char *fileName,
- int accessType);
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* _Dt_Editor_h */
-